home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Software Vault: The Gold Collection
/
Software Vault - The Gold Collection (American Databankers) (1993).ISO
/
cdr47
/
eeboot20.zip
/
SERIAL0.SRC
< prev
Wrap
Text File
|
1993-06-23
|
1KB
|
67 lines
*
* SERIAL.SRC
*
* functions for interaction over serial line
*
* (C) 1992 Fred Martin
* All rights reserved
*
*
* contains:
*
* void printdec(int n) prints value of n as unsigned decimal number.
* Appends CR and LF characters.
*
* int getchar() waits for serial character and returns that
* value.
*
RDRF EQU $20 ; Receive Data Register Full
TDRE EQU $80 ; Transmit Data Register Empty
CR EQU $0D
LF EQU $0A
printdec EQU *
TSX
LDD 2,X ; get number
LDY #5 ; num of digits
LDX #10
decdvlp IDIV ; least significant digit in B
PSHB ; save it
LDD #10
XGDX
DEY
BNE decdvlp
* have five digs saved on stack; start printing when not zero
LDAB #5 ; num digs to output
decoutlp PULA
ADDA #'0'
BSR putchar
DECB
BNE decoutlp
LDAA #CR
BSR putchar
LDAA #LF
BSR putchar
RTS
*
* write character in A over serial line
* destroys X register; preserves others
*
putchar EQU *
LDX #BASE
BRCLR SCSR,X,TDRE,* ; wait for serial line to finish last char
STAA SCDR,X
RTS
getchar EQU *
LDX #BASE
BRCLR SCSR,X;RDRF,* ; wait for serial char
LDAB SCDR,X
CLRA
RTS